/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Utility.CustomTag;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.SimpleTagSupport;

/**
 *
 * @author Tran Nguyen Anh Tu
 */
public class DateSelectorTag extends SimpleTagSupport {

    public void setDate(String date) {
        this.date = date;
    }
    private String date;
    private ArrayList monthList;

    private void monthInit() {
        monthList = new ArrayList();
        monthList.add("Tháng giêng");
        monthList.add("Tháng hai");
        monthList.add("Tháng ba");
        monthList.add("Tháng tư");
        monthList.add("Tháng năm");
        monthList.add("Tháng sáu");
        monthList.add("Tháng bảy");
        monthList.add("Tháng tám");
        monthList.add("Tháng chín");
        monthList.add("Tháng mười");
        monthList.add("Tháng mười một");
        monthList.add("Tháng mười hai");
    }

    private void writeOutput() throws JspException, IOException {
        String result[] = date.split("-");
        JspWriter out = getJspContext().getOut();
        
        out.print("Ngày: ");
        out.print("<select name=\"day\">");
        for (int d = 1; d < 32; d++) {
            if (d == Integer.parseInt(result[2])) {
                out.print("<option selected>" + d + "</option>");
            } else {
                out.print("<option>" + d + "</option>");
            }
        }
        out.print("</select>");
        
        out.print("Tháng: ");
        out.print("<select name=\"month\">");
        for (int m = 1; m < 13; m++) {
            if (m == Integer.parseInt(result[1])) {
                out.print("<option selected value=\""+m+"\">" + monthList.get(m-1) + "</option>");
            } else {
                out.print("<option value=\""+m+"\">" + monthList.get(m-1) + "</option>");
            }
        }
        out.print("</select>");
        
        out.print("Năm: ");
        out.print("<select name=\"year\">");
        for (int y = 1930; y <= Calendar.getInstance().get(Calendar.YEAR); y++) {
            if (y == Integer.parseInt(result[0])) {
                out.print("<option selected>" + y + "</option>");
            } else {
                out.print("<option>" + y + "</option>");
            }
        }
        out.print("</select>");
    }
    

    @Override
    public void doTag() throws JspException, IOException {
        this.monthInit();
        this.writeOutput();
    }
}
